import { createSlice } from '@reduxjs/toolkit'

const counterStore = createSlice({
  name: 'counter',
  // 初始化 state
  initialState: {
    count: 0,
    initData: '初始值',
  },
  // 修改数据的方法 【同步，支持直接修改】
  reducers: {
    add(state) {
      state.count++
    },
    sub(state) {
      state.count--
    },
    addNum(state, action) {
      state.count += action.payload
    }
  }
})

// 解构actionCreater函数  按需导出
const { add, sub, addNum } = counterStore.actions
// 获取 reducer  默认导出
const reducer = counterStore.reducer

export { add, sub, addNum }
export default reducer

// react-redux负责把Redux和React链接 起来，内置 Provider组件 通过 store 参数把创建好的store实例注入到应用中链接正式建立